package rssApp 
{
	import common.IDisposable;
	import flash.events.IEventDispatcher;
	import flash.utils.Dictionary;
	import rss.IRssEntryModel;
	import rss.IRssFeedModel;
	
	
	
	/**
	 * Main application model. The model describes the URL which the user has 
	 * entered, the feed (which is loaded by the service), and the categories
	 * which are created by the controller from the feed. The model should not
	 * have any internal logic, and simply acts to 
	 * 
	 * @author Luke Van In
	 */
	public interface IRssAppModel extends IEventDispatcher, IDisposable
	{
		
		/**
		 * 
		 * @return
		 */
		function get url():String;
		
		/**
		 * 
		 * @param	url
		 */
		function set url(url:String):void;
	
		
		
		/**
		 * 
		 * @return
		 */
		function get categories():Dictionary;
		
		
		/**
		 * 
		 */
		function set categories(categories:Dictionary):void;
		
		

		
		
		/**
		 * 
		 */
		function get feed():IRssFeedModel;
		
		/**
		 * 
		 * @param	feed
		 */
		function set feed(feed:IRssFeedModel):void;		

		
	}
	
}